/**
 * 后台首页路由设置
 */

'use strict'

var express = require('express');
var router = express.Router();

var AdminService = require('../../service/admin');


/**
 * 后台入口
 */
router.get('/', function (req,res,next) {
  if ( AdminService.isLogin(req) ) {
    res.redirect('/admin/panel');
  }else{
    res.redirect('/admin/login');
  }
});


/**
 * 登录页面
 */
router.get('/login', function(req, res, next){
  if ( AdminService.isLogin(req) ) {
    res.redirect('/admin/panel');
  }else{
    res.render('login',{ 
      error: req.flash('error'),
      title: '登录'
    });
  }
});

/**
 * 用户登录提交
 */
router.post('/login',function (req, res, next) {

  if(!req.body.email || !req.body.password){
    req.flash('error', '请输入邮箱和密码');
    return res.redirect('/admin/login');
  };
  
  AdminService.loginPost({
    user_email : req.body.email,
    user_password : req.body.password
  }).then(function (doc) {
    req.session.user = doc;
    return res.redirect('/admin/panel');
  }).catch(function (err) {
    req.flash('error', err);
    return res.redirect('/admin/login');
  });

  return null;
});

/**
 * 用户退出
 */
router.get('/logout',function(req,res,next) {
  req.session.destroy(function(err) {
    if (err) {
      next(err)
    } else {
      res.redirect('/admin/login');
    }
  })
});

/**
 * 后台面板首页
 */
router.get('/panel',function (req, res, next) {
  if(!req.session.user ){
    res.redirect('/admin/login');
  };
  var data = {
    userinfo : req.session.user
  };
  res.render('panel',{
    data : JSON.stringify(data)
  });
});

module.exports = router;